Diese Frage hat hier bereits Antworten: Wie kann ich die Antwort von einem asynchronen Aufruf zurückgeben? (42 Antworten) Vor 5 Monaten geschlossen. Wenn Sie den folgenden Code ausführen, ist die Antwort von console.log (ba) undefiniert Wenn ich dies jedoch in der Chrome V8-Konsole versuche, erhalte ich die richtige Ausgabe, die ich erwarte. Ich bin mir nicht ganz sicher, was hier los ist. lass ba; Funktion Setqa () { (async () => { warte auf den Abruf ('question.json') .then (res => res.json ()) .then (async (Daten) => { ba = Daten abwarten; }); }) (); }} Setqa (); console.log (ba); Der Inhalt der JSON-Datei lautet wie folgt: "Fragen": [{ "questionType": "multiple", "Frage": "Wie ist das Wetter", "Antworten": "", "Frage Antwort": "" }, { "questionType": "multiple", "Frage": "Wie geht es dir heute?", "answers": "
2021-02-27 08:13:18
Ich denke das sollte funktionieren lass ba; Funktion Setqa () { return fetch ('question.json') .then (res => res.json ()) .then (async (Daten) => { ba = Daten abwarten; }); }} Setqa (). Then (() => console.log (ba)); Aber ein besserer Ansatz wäre asynchrone Funktion setQa () { const res = warte auf den Abruf ('question.json'); return res.json (); }} sei ba = warte auf setQa (); | Nicht die Antwort, die Sie suchen? Durchsuchen Sie andere Fragen mit dem Tag javascript json fetch console.log oder stellen Sie Ihre eigene Frage.